﻿using Pay.DTO;
using Pay.TO;

namespace Pay.IService {
    public interface IGoodDeclarationService {
        /// <summary>
        /// 获取商品申报列表
        /// </summary>
        /// <returns>The verifyed.</returns>
        /// <param name="query">Identifier.</param>
        PagedResult<good_declaration_dto> GetGoodDeclarations(GoodDeclarationQuery query);
		/// <summary>
		/// 获取商品申报列表 -- 用户app端商品发布
		/// </summary>
		/// <returns>The goods declarations.</returns>
		/// <param name="query">Query.</param>
		ApiPagedResult<good_declaration_dto> GetGoodDeclarations(GoodDeclaQuery query);
        /// <summary>
        /// 获取商品申报信息
        /// </summary>
        /// <returns>The verifyed.</returns>
        /// <param name="query">Identifier.</param>
        good_declaration_dto GetGoodDeclaration(GoodDeclarationQuery query);
        /// <summary>
        /// 修改商品申报信息
        /// </summary>
        /// <returns>The verifyed.</returns>
        /// <param name="dto">Identifier.</param>
        int AlterGoodDeclaration(good_declaration_dto dto);
        /// <summary>
        /// 保存商品申报信息
        /// </summary>
        /// <returns>The verifyed.</returns>
        /// <param name="dto">Identifier.</param>
        int SaveGoodDeclaration(good_declaration_dto dto);
        /// <summary>
        /// 审核商品申报信息
        /// </summary>
        /// <returns>The verifyed.</returns>
        /// <param name="dto">Identifier.</param>
        int AuditGoodDeclaration(good_declaration_dto dto);
        /// <summary>
        /// 删除商品申报信息
        /// </summary>
        /// <returns>The verifyed.</returns>
        /// <param name="id">Identifier.</param>
        int DeleteGoodDeclaration(long id);
		/// <summary>
		/// 获取申报商品记录
		/// </summary>
		/// <returns>The good declaration.</returns>
		/// <param name="id">Identifier.</param>
		bool VerifyGoodDeclaration(long id);
        /// <summary>
        ///  商品报关
        /// </summary>
        /// <returns>The verifyed.</returns>
        /// <param name="dto">Identifier.</param>
        int Declaration(string[] ids, long user_id);
        /// <summary>
        /// 更新商品申报状态
        /// </summary>
        /// <param name="user_id"></param>
        /// <param name="status"></param>
        /// <returns></returns>
        int UpdateGoodDeclaration(long user_id, int status, long goodDecId);
    }
}
